package com.quickd.service.dto.wms;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.quickd.core.dto.BaseDto;
import lombok.Data;
import cn.afterturn.easypoi.excel.annotation.Excel;

import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.quickd.core.validator.group.AddGroup;
import com.quickd.core.validator.group.DefaultGroup;
import com.quickd.core.validator.group.UpdateGroup;

import java.math.BigDecimal;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.quickd.core.annotation.DictAno;

/**
 * 货位
 *
 * @author quickd quickd@dacanginfo.com
 * @since 2019-10-11
 */
@Data
@ApiModel(value = "货位")
public class StorageBinDTO extends BaseDto {

    @ApiModelProperty(value = "货位编码")
    @Excel(name = "货位编码")
    private String code;

    @ApiModelProperty(value = "所属仓库编码", required = true)
    @NotBlank(message = "所属仓库编码 不能为空", groups = DefaultGroup.class)
    @Excel(name = "所属仓库编码")
    private String storeCode;

    @ApiModelProperty(value = "货位条码")
    @Excel(name = "货位条码")
    private String barCode;

    @ApiModelProperty(value = "长（cm）")
    @Excel(name = "长（cm）")
    private BigDecimal width;

    @ApiModelProperty(value = "宽（cm）")
    @Excel(name = "宽（cm）")
    private BigDecimal height;

    @ApiModelProperty(value = "高（cm）")
    @Excel(name = "高（cm）")
    private BigDecimal length;

    @ApiModelProperty(value = "容积（m³）")
    @Excel(name = "容积（m³）")
    private BigDecimal cubage;

    @ApiModelProperty(value = "货位类型")
    @Excel(name = "货位类型")
    private String type;

    @ApiModelProperty(value = "货位状态")
    @Excel(name = "货位状态")
    private Integer status;

    @ApiModelProperty(value = "货物属性")
    @Excel(name = "货物属性")
    private String goodsAttribute;

    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    private String remark;
}